iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 1
7
自我挑戰組

Verilog 從放棄到有趣系列 第 1

[Day1]什麼是verilog?

  • 分享至 

  • xImage
  •  

什麼是verilog?
Verilog是一種硬體描述語言(Hardware Description Language),簡單來說就是透過寫程式的方式來描述硬體的行為讓EDA tool(Electronic Design Automation)來幫你完成電路設計,過程包含把你的描述的程式轉成gate-level的電路,各個大小module的擺放以及繞線,跟最後的驗證,目前熱門的HDL有Verilog及VHDL兩種,會選verilog當這次的主題是因為verilog相較於VHDL來說,在台灣IC設計公司屬於比較主流的語言,另一個原因是如果有學過C語言的話,或許大多的語法可能不陌生,但很多人卻說,用C的思維去寫verilog會哭出來,沒關係,接下來的每一天會讓你覺得verilog其實很有趣.

為什麼想跟大家分享verilog?
在網路上,關於verilog資源不如其他語言的資源來得多,像是C、Java,Python等等,所以想利用這30天讓想學verilog的同學能對verilog有初步的了解,接下來的三十天會一一介紹verilog的語法觀念架構等等,這三十天跟大家分享的比較屬於行為描述的正確性,至於電路合成完的結果,像是timing或resource使用量的部分會提一點,有興趣的同學或許可以在留言板下跟我討論.

大綱:
tool安裝即使用(一至兩天)
語法(四到五天)
testbench(一至兩天)
電路觀念與思維(四到五天)
演算法(兩到三天)
電路應用(四到五天)
timing&resource(兩到三天)

須準備些什麼?
寫verilog時要拋開寫軟體語言的思維,引進邏輯電路的思考來寫,在往後的教學當中,會盡可能搭配電路圖來引導大家如何寫出一個漂亮又有趣的verilog,那接下來先幫大家複習一下幾個邏輯閘及真值表.

https://ithelp.ithome.com.tw/upload/images/20171212/201075433oIuMQ7rqZ.png
輸入 輸出
A B C
0 0 0
0 1 1
1 0 1
1 1 1
OR-gate

https://ithelp.ithome.com.tw/upload/images/20171212/201075433GcEAZ5L4U.png

輸入 輸出
A B C
0 0 0
0 1 0
1 0 0
1 1 1
AND-gate

https://ithelp.ithome.com.tw/upload/images/20171212/20107543450nLCXJlN.png

輸入 輸出
A B
0 1
1 1
Inveter-gate

https://ithelp.ithome.com.tw/upload/images/20171212/201075437SDMKMRXPf.png

輸入 輸出
A B C
0 0 0
0 1 1
1 0 1
1 1 0
XOR-gate


其實在複雜的電路也是用這些邏輯閘組合出來的,所以知道這些基本邏輯閘的輸入輸出關係之後,我們就可以往下進行囉,未來三十天我會盡量把我知道的分享給大家,如果有筆誤的地方也請大家多多包容.


下一篇
[Day2] tool安裝
系列文
Verilog 從放棄到有趣30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

2
EN
iT邦好手 1 級 ‧ 2020-11-21 17:30:38

反相器的真值表打錯了~

我要留言

立即登入留言